<template>
  <a-modal
    v-model:visible="value"
    hide-cancel
    title="功能及名词解释"
    @confirm="value = false"
    unmount-on-close
    :maskClosable="false"
    width="65vw"
    @close="value = false"
  >
    <a-scrollbar style="height: 70vh; overflow-y: auto">
      <a-card v-for="(it, index) in funsAndNounArr" :bordered="false" :title="it.title" :key="index">
        <table-index :table="it.table">
          <template #value="{ record }">
            <p v-for="(item, _index) in record.value.split('#enter#')" :key="_index">
              {{ item }}
            </p>
          </template>
        </table-index>
      </a-card>
    </a-scrollbar>
  </a-modal>
</template>

<script setup>
  import { computed } from 'vue'
  import { useTable } from '@/hooks/table'

  const emits = defineEmits(['update:visible'])
  const props = defineProps({
    visible: {
      type: Boolean,
      default: true,
    },
  })

  const funsAndNounArr = computed(() => {
    return [
      {
        title: '一、名词解释',
        table: table_noun,
      },
      {
        title: '二、功能说明',
        table: table_funs,
      },
    ]
  })

  const value = computed({
    get: () => props.visible,
    set: (val) => emits('update:visible', val),
  })

  const table_noun = useTable({
    tableHeight: 850,
    pagination: false,
    tableLoading: false,
    columns: [
      { title: '名词', dataIndex: 'label', width: 130 },
      { title: '说明', slotName: 'value' },
    ],
    dataList: [
      {
        label: '费用总额',
        value: '所有费项的总额之和，取结算状态:待结算、已结算、结算中、部分结算，已关闭已作废的费用不计算在内。',
      },
      {
        label: '收款总额',
        value:
          '所有收款费项的收款总额之和，取结算状态:待结算、已结算、结算中、部分结算，已关闭已作废的费用不计算在内。#enter#线上实收:统计线上收款费项中实收总额#enter#线下实收:统计线下收款费项中实收总额',
      },
      {
        label: '付款总额',
        value:
          '所有付款费项的付款总额之和，取结算状态:待结算、已结算、结算中、部分结算，已关闭已作废的费用不计算在内。#enter#线上实付:统计线上付款费项中实付总额#enter#线下实付:统计线下付款费项中实付总额',
      },
      {
        label: 'OTA对账总额',
        value:
          '所有线上费用的总额之和，不包含车损费、油(电)费-收付款、违章费、平台承担的优惠费#enter#取结算状态:待结算、已结算、结算中、部分结算，已关闭已作废的费用不计算在内。',
      },
      {
        label: '佣金',
        value: '对账金额*订单所属渠道设置的抽佣比例',
      },
      {
        label: '待结算金额',
        value: '所有未结金额之和，取结算状态:待结算、结算中、部分结算',
      },
      {
        label: '结算中金额',
        value: '结算方式为嘉联聚合支付，生成收付款码但用户还未扫码支付的金额之和，取结算状态:结算中，支付状态:未支付',
      },
      {
        label: '已结算金额',
        value: '所有已结金额之和，取结算状态:部分结算、已结算',
      },
      {
        label: '总额',
        value: '单笔费项的总金额',
      },
      {
        label: '实结',
        value: '单笔费项中已完成结算的金额',
      },
      {
        label: '未结',
        value: '单笔费项中未结算的金额',
      },
      {
        label: '操作节点',
        value: '展示费用生成的节点，包含:创建订单、续租、换车、交车、还车、添加用户缴费、订单取消、系统同步',
      },
      {
        label: '无需结算',
        value: '当订单状态变更为已取消时，存在的费项状态会变更为无需结算，同时已结算的费项会自动生成退款，费用名称为【退款-订单取消】',
      },
    ],
  })

  const table_funs = useTable({
    pagination: false,
    tableLoading: false,
    tableHeight: 850,
    columns: [
      { title: '功能', dataIndex: 'label', width: 130 },
      { title: '说明', slotName: 'value' },
    ],
    dataList: [
      {
        label: '结算/批量结算',
        value: '1.结算费项时，支持单个结算，也支持选择多个费项批量结算#enter#2.支持部分结算，请注意输入的金额需小于或等于未结金额',
      },
      {
        label: '修改费用',
        value: '费用金额不准确时，支持修改，请注意修改的金额需大于或等于未结金额',
      },
      {
        label: '删除费项',
        value: `1.费用状态为未结算、无需结算时，支持删除，#enter#2.如状态为已结算、部分结算，此时删除需先在对账中撤回，将结算状态变更为未结算#enter#3.如状态为结算中，则需要在嘉联聚合支付账单中操作取消支付，将结算状态变更为未结算`,
      },
      {
        label: '添加备注',
        value: '费项支持多次添加多条备注，添加完成后，在备注-更多中可查看所有记录',
      },
      {
        label: '通知',
        value: '1.已结算的费项，对账时被驳回，会通知您#enter#2.订单取消导致费项不支持操作或自动生成退款费项，会通知您',
      },
      {
        label: '设置抽佣比例',
        value: `1.如订单为渠道订单，但不是携程、飞猪、哈啰、悟空四个渠道，而是您手动添加的渠道，可在此处设置抽佣比例#enter#2.设置或修改抽佣比例后，已对账、部分对账的费项不受影响，未对账的费项根据最近比例重新计算抽佣金额`,
      },
      {
        label: '三方支付账单',
        value: '结算时选择任意聚合支付，产生的账单可在此查看',
      },
      {
        label: '订单取消对于费用的影响',
        value: '订单取消后，取消前存在的费项结算状态自动变更为无需结算，同时将已结算金额自动生成退款',
      },
      {
        label: '手动添加退款',
        value: '支持已结算的费项1对1退款，同时也支持额外费用退款',
      },
    ],
  })
</script>
